package cn.wolfcode.wolf2w.repository;

import cn.wolfcode.wolf2w.domain.Destination;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;

import java.util.List;

/**
 * 目的地持久层接口
 */
public interface DestinationRepository extends MongoRepository<Destination, String>{

    /**
     * 根据目的地id查询目的地对象
     * @param ids   查询条件
     * @return  Destination的list集合
     */
    List<Destination> findByIdIn(List<String> ids);

    /**
     * 根据父级名称查询子类目的地
     * @param name  查询条件
     * @return  Destination的list集合
     */
    List<Destination> findByParentName(String name);

    /**
     * 根据id查询子类目的地
     * @param id    查询条件
     * @param pageable
     * @return  Destination的list集合
     */
    List<Destination> findByParentId(String id, Pageable pageable);

    /**
     * 根据关键字查询目的地
     * @param keyword
     * @return
     */
    Destination findByName(String keyword);
}
